-
Notifications
You must be signed in to change notification settings - Fork 2.6k
feat: Roo AI-Powered Commit Message Generation #5215
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Moves the "Generating commit message" notification from VS Code's static NLS to the dynamic i18next infrastructure, ensuring it gets properly translated. - Simplifies the translation key to `git.generatingCommitMessage`. - Fixes the i18n setup script to resolve the correct locales path. - Stabilizes the `t()` helper to prevent race conditions with language changes. - Removes the now-obsolete key from all `package.nls.*.json` files to clean up the codebase.
Adds translations for pluginLanguage and commitLanguage to the settings panel for all supported languages. This ensures that the language selection options in the settings view are properly localized, improving the user experience for non-English speakers.
Adds a comprehensive suite of unit tests for the `generateCommitMessage` function. The tests cover the following scenarios: - Git extension not found - No Git repository found - No changes in the repository - AI provider not configured - Successful commit message generation for tracked files - Successful commit message generation for untracked files - Handling of errors when reading untracked files This ensures the stability and correctness of the commit message generation feature.
|
Thank you for your contribution! As mentioned in #2173 (comment), we don't believe this change makes sense at this time, especially since many extensions are already adding buttons to the SCM title bar. At the very least, we would want to provide users with the option to turn it off. Otherwise, it adds yet another button to an already crowded interface like this: I'll mark this PR as a draft for now to give us more time for discussion. |
This commit introduces a new experimental feature that uses AI to generate commit messages based on the staged change
The new functionality is implemented behind an experimental feature toggle that is off by default. This lets us develop the feature iteratively without impacting users who don't wish to use it."
|
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
…ages experimental feature The commit language setting has been refactored and moved from the general language settings section. It is now managed by a new dedicated component, . This component is conditionally rendered within the section, specifically when the experimental feature is active. This change ensures that the commit language option is logically grouped with the AI commit message functionality it directly supports, improving the clarity and organization of settings. Additionally, minor styling adjustments were applied to the component for improved layout.





Related GitHub Issue
#4225
Closes: #4225
Description
This PR adds a new command
git.generateCommitMessagethat generates a commit message based on the staged changes. It also adds translations for this command in all supported languages.Test Procedure
Pre-Submission Checklist
Screenshots / Videos
Additional Notes
This commit introduces a simpler approach to #4225.
While this solution doesn't perfectly replicate Copilot's behavior due to its reliance on an unstable API, it provides a minimum viable product. I believe that "perfect is the enemy of good," and delivering essential functionality now is preferable to waiting for a more feature-rich solution in the future. This approach allows for iterative improvements on the existing implementation.
Get in Touch
zapp88
Important
Introduces AI-powered commit message generation with new command, settings, and tests.
git.generateCommitMessagecommand inregisterCommands.tsto generate commit messages using AI.ClineProvider.tsandwebviewMessageHandler.ts.package.jsonto include the new command and its settings.aiCommitMessagestoexperiments.tsandglobal-settings.ts.generateCommitMessage.spec.tsfor testing the new feature.experiment.tsto includeaiCommitMessages.LanguageSettings.tsx.This description was created by
for 69aa82d. You can customize this summary. It will automatically update as commits are pushed.